package org.yelongframework.excel.data;

import org.yelongframework.lang.Nullable;

/**
 * 工作薄单元格数据
 * 
 * @since 1.0.0
 */
public final class SheetData {

	/** 行索引 */
	private final int rowIndex;

	/** 列索引 */
	private final int colIndex;

	/** 单元格值 */
	@Nullable
	private final Object cellValue;

	// ==================================================构造器==================================================

	/**
	 * @param rowIndex  行索引
	 * @param colIndex  列索引
	 * @param cellValue 单元格值
	 */
	public SheetData(int rowIndex, int colIndex, @Nullable Object cellValue) {
		this.rowIndex = rowIndex;
		this.colIndex = colIndex;
		this.cellValue = cellValue;
	}

	// ==================================================行索引==================================================

	/**
	 * @return 行索引
	 */
	public int getRowIndex() {
		return rowIndex;
	}

	// ==================================================列索引==================================================

	/**
	 * @return 列索引
	 */
	public int getColIndex() {
		return colIndex;
	}

	// ==================================================单元格值==================================================

	/**
	 * @return 单元格值
	 */
	@Nullable
	public Object getCellValue() {
		return cellValue;
	}

	// ==================================================转字符串==================================================

	@Override
	public String toString() {
		return "[rowIndex=" + rowIndex + ", colIndex=" + colIndex + ", cellValue=" + cellValue + "]";
	}

}
